#!/usr/bin/perl
## LWP::Simple, 정규표현, RSSLite
## LWP::Simple - simple procedural interface to LWP
use strict;
use warnings;
use lib qw( ./Lib );
use LWP::Simple;
use RSSLite;
use CGI;

my $cgi = CGI->new();
my $rss = new RSSLite(version => '1.0', encoding=>"utf-8");

## HTML 가져오기 
my $html = LWP::Simple::get("http://event.perl.kr/kpw2008") or die; # get은 LWP::Simple에서 export된 함수 
$html =~ s!\n! !gi; # 뉴라인을 공백으로 
$html =~ s!\s+! !gi; # 다수의 공백을 하나의 공백으로 
##print $html; exit;

## <title>2008 Korean Perl Workshop</title>
## <div class="news"> <h2>현재 등록시 대기자 명단으로 올라갑니다!</h2> ..... </div>
my ( $title ) = ( $html =~ m!<title>(.+?)</title>!i );
my ( @item ) = ( $html =~ m!<div class="news">\s*<h2>(.+?)</h2>\s*(.+?)\s*</div>!g );

## RSS FEED 만들기 
$rss->channel(
	title        => $title,
	link         => "http://event.perl.kr/kpw2008",
	description  => "Korean Perl Workshop RSS Feed",
);

foreach ( 1..10 ) {
	if ( @item >= 2 ) {
		$rss->add_item(
	    	title		=> shift @item,
	    	link		=> "http://event.perl.kr/kpw2008",
	    	description	=> shift @item,
		)
	}
	else {
		last; # break;
	}
}

## RSS Feed 출력
$cgi->charset('utf-8');
print $cgi->header("text/xml"), $rss->as_string;

